
// function createArr(length: number, value:any): Array<any>{
//   let res:any[] = []
//   for (let i = 0; i < length; i++) {
//     res.push(value)
//   }
//   return res
// }

// createArr(5, 666)

function createArr<T>(length: number, value: T): Array<T> {
  let res: T[] = []
  for (let i = 0; i < length; i++) {
    res.push(value)
  }
  return res
}

// 在你是用的时候才能确定类型，此时我们可以定义一个泛型 T 变量
const arr:  string[] = createArr<string>(5, 'A')
const arr2: number[] = createArr<number>(5,6)


// 数组
let list = [1, '好好努力吧']
let list1: Array<string | number> = [1, '别考试就你一个人不过']
let list2: (number | string)[] = [1, '情人节就你一个人过']

// 元组
// 元组：明确已知元素的个数以及每个元素的数据类型的时候可以使用元组
let list3: [number,string] = [1, '你好呀']

// 只能在该数组中，指定位置添加指定数据类型的数据
let list4: [number,string] = [1, '你好呀']
